package com.ai.service;

import com.ai.entity.SysRoleEntity;
import com.ai.web.PageResp;
import com.ai.web.request.RoleAddReq;
import com.ai.web.request.RolePageReq;
import com.ai.web.request.RoleUpdateReq;
import com.ai.web.response.SysRoleResp;

import java.util.List;

/**
 * 角色管理接口
 */
public interface RoleService  {

    /**
     * 添加角色
     *
     * @param roleAddReq SysRole
     */
    void addRole(RoleAddReq roleAddReq);

    /**
     * 更新角色
     *
     * @param roleUpdateReq SysRole
     */
    void updateRole(RoleUpdateReq roleUpdateReq);

    /**
     * 根据id获取角色详情
     *
     * @param id id
     * @return SysRole
     */
    SysRoleResp detailInfo(String id);

    /**
     * 根据id删除
     *
     * @param id id
     */
    void deletedRole(String id);

    /**
     * 根据userId获取绑定的角色
     *
     * @param userId userId
     * @return List
     */
    List<SysRoleEntity> getRoleInfoByUserId(String userId);

    void updateById(SysRoleEntity sysRole);


    PageResp<SysRoleEntity> page(RolePageReq rolePageReq);
}
